Cooking: Improved hummus recipe, better roasted garlic
[clinton/website/site/unknownlamer.org.git] / Site Software.muse
CommitLineData
333c0f0c 1* Basic Setup
2
3I work on the static content of the site using [[http://mwolson.org/projects/EmacsMuse.html][Emacs Muse]]. My muse
4configuration is pretty long and available in my
5[[darcsweb::site-emacs/init.d/muse.el][site-emacs repository]]. The site itself exists in a [[darcsweb::unknownlamer.org][darcs repository]]
6which is a fork of the source repository I edit locally--the source
7repository contains muse/image files while the site repository
8contains html updates as a separate series of patches.
9
10This provides a very nice editing environment and makes publishing
11fairly easy--I push edits from my laptop to my workstation and then
12off to [[http://hcoop.net][HCoop]] with the html updates. Almost no effort is spent dealing
13with some dumb web interface or other pointless things making it much
14easier for me to just write things and toss them up onto the web.
15
16* Scripts
17
18There are a few scripts and templates in the [[darcsweb::site-support]]
19repository that I use to update the
20site. [[darcsweb::site-support/update.sh]] automates the process of
21sending patches off to the server via afs.
22
23** Book Database
24
25[[Book List]] is autogenerated by [[darcsweb::site-support/books.lisp]] which
26reads a template and a small sexp *database* of book entries and spits
27out a muse file which is not kept under VC. This works well for me
28currently, but I intend to eventually *upgrade* this simple system to an
29[[http://common-lisp.net/project/elephant/][Elephant]] object database with a [[http://common-lisp.net/project/mcclim/][CLIM]] frontend for editing
30entries. I'll probably end up writing a minimal database manager for
31the sexp based system first.
32
33** RSS Feed
34
35The site rss feed is generated by [[darcsweb::site-support/rss.lisp]]. It
36fetches the darcs xml changelog for interesting files and then spits
37out a tolerable feed with automagically generated links from =*.muse= to
38=*.html=. A [[darcsweb::site-support/update-rss-binary][dumped binary]] is run from a darcs hook on the main
39repository that handily updates the feed whenever I commit.
40
41<code>apply posthook update-site-rss
42apply run-posthook</code>
43
44Boring old Apache is used to serve up the generated feed. The feed
45stays updated when I update, and Apache deals with properly letting
46readers know when the file last changed and whatnot.
47
48* License
49
50All of the scripts used to generate the site are in the public domain
51unless otherwise mentioned in the files themselves. To use them
52anywhere else would require modification, but a few chunks of code
53could be generally useful for other things.